package br.ufrn.sipac.patrimonio.coletor.dao;

import java.sql.SQLException;
import java.util.List;

import android.content.Context;
import br.ufrn.sipac.patrimonio.coletor.dominio.ItemLevantamento;
import br.ufrn.sipac.patrimonio.coletor.dominio.Levantamento;

import com.j256.ormlite.stmt.QueryBuilder;

public class ItemLevantamentoDAO  extends GenericDaoORM<ItemLevantamento> {

	public ItemLevantamentoDAO(Context context) throws SQLException {
		super(context, 	ItemLevantamento.class);
	}
	
	/**
	 * Retorna os itens do levantamento passado como par�metro
	 * 
	 * @param idLevantamento
	 * @return
	 * @throws SQLException
	 */
	public List<ItemLevantamento> findByLevantamento(int idLevantamento) throws SQLException {
		QueryBuilder<ItemLevantamento, Integer> itemLevantamentoQb = dao.queryBuilder();
		
		@SuppressWarnings("unchecked")
		QueryBuilder<Levantamento, Integer> levantamentoQb = (QueryBuilder<Levantamento, Integer>) getDao(Levantamento.class).queryBuilder();
		levantamentoQb.where().eq("id", idLevantamento);
		
		return itemLevantamentoQb.join(levantamentoQb).query();
	}
	
	/**
	 * Retorna os itens de levantamento conforme o status usado na pesquisa.
	 * @param idLevantamento
	 * @return
	 * @throws SQLException
	 */
	public List<ItemLevantamento> findByStatus(int idLevantamento) throws SQLException {
		QueryBuilder<ItemLevantamento, Integer> itemLevantamentoQb = dao.queryBuilder();
		return itemLevantamentoQb.where().eq("id_satus", idLevantamento).query();
	}
	

}
